package com.wz.project.ssj.controller;

import java.util.List;

import com.wz.project.ddjmsg.domain.MsgDdj;
import com.wz.project.ddjmsg.service.IMsgDdjService;
import com.wz.project.tsj.domain.MsgTsj;
import com.wz.project.tsj.service.IMsgTsjService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.wz.framework.aspectj.lang.annotation.Log;
import com.wz.framework.aspectj.lang.enums.BusinessType;
import com.wz.project.ssj.domain.MsgSsj;
import com.wz.project.ssj.service.IMsgSsjService;
import com.wz.framework.web.controller.BaseController;
import com.wz.framework.web.domain.AjaxResult;
import com.wz.common.utils.poi.ExcelUtil;
import com.wz.framework.web.page.TableDataInfo;

/**
 * 出库输送机监控Controller
 *
 * @author wz
 * @date 2023-12-26
 */
@Controller
@RequestMapping("/deviceInfo")
public class MsgSsjController extends BaseController {
    private String prefix = "deviceInfo";

    @Autowired
    private IMsgSsjService msgSsjService;

    @Autowired
    private IMsgDdjService msgDdjService;
    @Autowired
    private IMsgTsjService msgTsjService;


    @RequiresPermissions("ssj:ssj:view")
    @GetMapping()
    public String ssj() {
        return prefix + "/deviceInfo";
    }

    /**
     * 出库端二层监控
     */
    @GetMapping("/ckEcMsg")
    public String ckEcMsg() {
        return prefix + "/ckEcMsg";
    }

    /**
     * 出库端三层监控
     */
    @GetMapping("/ckScMsg")
    public String ckScMsg() {
        return prefix + "/ckSancMsg";
    }

    /**
     * 出库四层监控
     */
    @GetMapping("/ckSicMsg")
    public String ckSicMsg() {
        return prefix + "/ckSicMsg";
    }

    /**
     * 提伸机
     */
    @GetMapping("/tsjMsg")
    public String tsjMsg() {
        return prefix + "/tsjMsg";
    }

    /**
     * 堆垛机
     */
    @GetMapping("/ddjMsg")
    public String ddjMsg() {
        return prefix + "/ddjMsg";
    }

    /**
     * 回流
     */
    @GetMapping("/hlMsg")
    public String hlMsg() {
        return prefix + "/ckhlMsg";
    }

    //    @RequiresPermissions("ssj:ssj:list")
    //一层
    @RequestMapping("/list11")
    @ResponseBody
    public TableDataInfo list11(MsgSsj msgSsj) {
        msgSsj.setDtype("CKRGVSS");
        msgSsj.setDevId("CKRGVSS1");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //一层
    @RequestMapping("/list12")
    @ResponseBody
    public TableDataInfo list12(MsgSsj msgSsj) {
        msgSsj.setDtype("CKXDSS");
        msgSsj.setDevId("CKXDSS1");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //一层
    @RequestMapping("/list13")
    @ResponseBody
    public TableDataInfo list13(MsgSsj msgSsj) {
        msgSsj.setDtype("XDKCK");
        msgSsj.setDevId("XDKCK1");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //一层
    @RequestMapping("/list14")
    @ResponseBody
    public TableDataInfo list14(MsgDdj msgDdj) {
        msgDdj.setMbc(Long.valueOf(String.valueOf(1)));
        msgDdj.setName("RGV");
        List<MsgDdj> msgDdjs = msgDdjService.selectMsgDdjList(msgDdj);
        return getDataTable(msgDdjs);
    }

    //二层
    @RequestMapping("/list21")
    @ResponseBody
    public TableDataInfo list21(MsgSsj msgSsj) {
        msgSsj.setDtype("CKRGVSS");
        msgSsj.setDevId("CKRGVSS2");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //二层
    @RequestMapping("/list22")
    @ResponseBody
    public TableDataInfo list22(MsgSsj msgSsj) {
        msgSsj.setDtype("CKXDSS");
        msgSsj.setDevId("CKXDSS2");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //二层
    @RequestMapping("/list23")
    @ResponseBody
    public TableDataInfo list23(MsgSsj msgSsj) {
        msgSsj.setDtype("XDKCK");
        msgSsj.setDevId("XDKCK2");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //二层
    @RequestMapping("/list24")
    @ResponseBody
    public TableDataInfo list24(MsgDdj msgDdj) {
        msgDdj.setMbc(Long.valueOf(String.valueOf(2)));
        msgDdj.setName("RGV");
        List<MsgDdj> msgDdjs = msgDdjService.selectMsgDdjList(msgDdj);
        return getDataTable(msgDdjs);
    }

    //三层监控
    @RequestMapping("/list31")
    @ResponseBody
    public TableDataInfo list31(MsgSsj msgSsj) {
        msgSsj.setDtype("CKXDSS");
        msgSsj.setDevId("CKXDSS3");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //三层监控
    @RequestMapping("/list32")
    @ResponseBody
    public TableDataInfo list32(MsgSsj msgSsj) {
        msgSsj.setDtype("XDKCK");
        msgSsj.setDevId("XDKCK3");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //三层监控
    @RequestMapping("/list33")
    @ResponseBody
    public TableDataInfo list33(MsgSsj msgSsj) {
        msgSsj.setDtype("CKRGVSS");
        msgSsj.setDevId("CKRGVSS3");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //三层监控
    @RequestMapping("/list34")
    @ResponseBody
    public TableDataInfo list34(MsgDdj msgDdj) {
        msgDdj.setMbc(Long.valueOf(String.valueOf(3)));
        msgDdj.setName("RGV");
        List<MsgDdj> msgDdjs = msgDdjService.selectMsgDdjList(msgDdj);
        return getDataTable(msgDdjs);
    }

    //四层监控
    @RequestMapping("/list41")
    @ResponseBody
    public TableDataInfo list41(MsgSsj msgSsj) {
        msgSsj.setDtype("CKXDSS");
        msgSsj.setDevId("CKXDSS4");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //四层监控
    @RequestMapping("/list42")
    @ResponseBody
    public TableDataInfo list42(MsgSsj msgSsj) {
        msgSsj.setDtype("XDKCK");
        msgSsj.setDevId("XDKCK4");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //四层监控
    @RequestMapping("/list43")
    @ResponseBody
    public TableDataInfo list43(MsgSsj msgSsj) {
        msgSsj.setDtype("CKRGVSS");
        msgSsj.setDevId("CKRGVSS4");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //四层监控
    @RequestMapping("/list44")
    @ResponseBody
    public TableDataInfo list44(MsgDdj msgDdj) {
        msgDdj.setMbc(Long.valueOf(String.valueOf(4)));
        msgDdj.setName("RGV");
        List<MsgDdj> msgDdjs = msgDdjService.selectMsgDdjList(msgDdj);
        return getDataTable(msgDdjs);
    }

    //堆垛机监控
    @RequestMapping("/listddj1")
    @ResponseBody
    public TableDataInfo listddj(MsgDdj msgDdj) {
        msgDdj.setName("堆垛机");
        List<MsgDdj> msgDdjs = msgDdjService.selectMsgDdjList(msgDdj);
        return getDataTable(msgDdjs);

    }

    //提升机监控
    @RequestMapping("/listtsj")
    @ResponseBody
    public TableDataInfo listtsj(MsgTsj msgTsj) {
        msgTsj.setName("1号出库提升机");
        List<MsgTsj> msgTsjs = msgTsjService.selectMsgTsjList(msgTsj);
        return getDataTable(msgTsjs);
    }
    @RequestMapping("/listssj")
    @ResponseBody
    public TableDataInfo listssj(MsgSsj msgSsj) {
        MsgSsj msgSsj1 = new MsgSsj();
        msgSsj1.setDevId("CRKSS1-1");
        List<MsgSsj> msgSsjs1 = msgSsjService.selectMsgSsjList(msgSsj1);
        MsgSsj msgSsj2 = new MsgSsj();
        msgSsj2.setDevId("HLRGVSS1-1");
        List<MsgSsj> msgSsjs2 = msgSsjService.selectMsgSsjList(msgSsj2);
        msgSsj.setDevId("TSJCSS1");
        List<MsgSsj> msgSsjs = msgSsjService.selectMsgSsjList(msgSsj);
        msgSsjs.addAll(msgSsjs1);
        msgSsjs.addAll(msgSsjs2);
        return getDataTable(msgSsjs);
    }

    //提升机监控
    @RequestMapping("/listtsj1")
    @ResponseBody
    public TableDataInfo listtsj1(MsgTsj msgTsj) {
        msgTsj.setName("2号出库提升机");
        List<MsgTsj> msgTsjs = msgTsjService.selectMsgTsjList(msgTsj);
        return getDataTable(msgTsjs);
    }
    @RequestMapping("/listssj12")
    @ResponseBody
    public TableDataInfo listssj12(MsgSsj msgSsj) {
        MsgSsj msgSsj1 = new MsgSsj();
        msgSsj1.setDevId("CRKSS1-2");
        List<MsgSsj> msgSsjs1 = msgSsjService.selectMsgSsjList(msgSsj1);
        MsgSsj msgSsj2 = new MsgSsj();
        msgSsj2.setDevId("HLRGVSS1-2");
        List<MsgSsj> msgSsjs2 = msgSsjService.selectMsgSsjList(msgSsj2);
        msgSsj.setDevId("TSJCSS2");
        List<MsgSsj> msgSsjs = msgSsjService.selectMsgSsjList(msgSsj);
        msgSsjs.addAll(msgSsjs1);
        msgSsjs.addAll(msgSsjs2);
        return getDataTable(msgSsjs);
    }
    //提升机监控
    @RequestMapping("/listtsj2")
    @ResponseBody
    public TableDataInfo listtsj2(MsgTsj msgTsj) {
        msgTsj.setName("3号出库提升机");
        List<MsgTsj> msgTsjs = msgTsjService.selectMsgTsjList(msgTsj);
        return getDataTable(msgTsjs);
    }
    @RequestMapping("/listssj13")
    @ResponseBody
    public TableDataInfo listssj13(MsgSsj msgSsj) {
        MsgSsj msgSsj1 = new MsgSsj();
        msgSsj1.setDevId("CRKSS1-3");
        List<MsgSsj> msgSsjs1 = msgSsjService.selectMsgSsjList(msgSsj1);
        MsgSsj msgSsj2 = new MsgSsj();
        msgSsj2.setDevId("HLRGVSS1-3");
        List<MsgSsj> msgSsjs2 = msgSsjService.selectMsgSsjList(msgSsj2);
        msgSsj.setDevId("TSJCSS3");
        List<MsgSsj> msgSsjs = msgSsjService.selectMsgSsjList(msgSsj);
        msgSsjs.addAll(msgSsjs1);
        msgSsjs.addAll(msgSsjs2);
        return getDataTable(msgSsjs);
    }
    //提升机监控
    @RequestMapping("/listtsj3")
    @ResponseBody
    public TableDataInfo listtsj3(MsgTsj msgTsj) {
        msgTsj.setName("4号出库提升机");
        List<MsgTsj> msgTsjs = msgTsjService.selectMsgTsjList(msgTsj);
        return getDataTable(msgTsjs);
    }
    @RequestMapping("/listssj14")
    @ResponseBody
    public TableDataInfo listssj14(MsgSsj msgSsj) {
        MsgSsj msgSsj1 = new MsgSsj();
        msgSsj1.setDevId("CRKSS1-4");
        List<MsgSsj> msgSsjs1 = msgSsjService.selectMsgSsjList(msgSsj1);
        MsgSsj msgSsj2 = new MsgSsj();
        msgSsj2.setDevId("HLRGVSS1-4");
        List<MsgSsj> msgSsjs2 = msgSsjService.selectMsgSsjList(msgSsj2);
        msgSsj.setDevId("TSJCSS4");
        List<MsgSsj> msgSsjs = msgSsjService.selectMsgSsjList(msgSsj);
        msgSsjs.addAll(msgSsjs1);
        msgSsjs.addAll(msgSsjs2);
        return getDataTable(msgSsjs);
    }
    //提升机监控
    @RequestMapping("/listtsj4")
    @ResponseBody
    public TableDataInfo listtsj4(MsgTsj msgTsj) {
        msgTsj.setName("5号出库提升机");
        List<MsgTsj> msgTsjs = msgTsjService.selectMsgTsjList(msgTsj);
        return getDataTable(msgTsjs);
    }
    @RequestMapping("/listssj15")
    @ResponseBody
    public TableDataInfo listssj15(MsgSsj msgSsj) {
        MsgSsj msgSsj1 = new MsgSsj();
        msgSsj1.setDevId("CRKSS1-5");
        List<MsgSsj> msgSsjs1 = msgSsjService.selectMsgSsjList(msgSsj1);
        MsgSsj msgSsj2 = new MsgSsj();
        msgSsj2.setDevId("HLRGVSS1-5");
        List<MsgSsj> msgSsjs2 = msgSsjService.selectMsgSsjList(msgSsj2);
        msgSsj.setDevId("TSJCSS5");
        List<MsgSsj> msgSsjs = msgSsjService.selectMsgSsjList(msgSsj);
        msgSsjs.addAll(msgSsjs1);
        msgSsjs.addAll(msgSsjs2);
        return getDataTable(msgSsjs);
    }
    //提升机监控
    @RequestMapping("/listtsj5")
    @ResponseBody
    public TableDataInfo listtsj5(MsgTsj msgTsj) {
        msgTsj.setName("6号出库提升机");
        List<MsgTsj> msgTsjs = msgTsjService.selectMsgTsjList(msgTsj);
        return getDataTable(msgTsjs);
    }
    @RequestMapping("/listssj16")
    @ResponseBody
    public TableDataInfo listssj16(MsgSsj msgSsj) {
        MsgSsj msgSsj1 = new MsgSsj();
        msgSsj1.setDevId("CRKSS1-6");
        List<MsgSsj> msgSsjs1 = msgSsjService.selectMsgSsjList(msgSsj1);
        MsgSsj msgSsj2 = new MsgSsj();
        msgSsj2.setDevId("HLRGVSS1-6");
        List<MsgSsj> msgSsjs2 = msgSsjService.selectMsgSsjList(msgSsj2);
        msgSsj.setDevId("TSJCSS6");
        List<MsgSsj> msgSsjs = msgSsjService.selectMsgSsjList(msgSsj);
        msgSsjs.addAll(msgSsjs1);
        msgSsjs.addAll(msgSsjs2);
        return getDataTable(msgSsjs);
    }

    //出库口回流口巷道
    @RequestMapping("/listxdhl")
    @ResponseBody
    public TableDataInfo listxdhl(MsgSsj msgSsj) {
        msgSsj.setDtype("XDKRK");
        msgSsj.setDevId("XDKRK1");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //出库端回流巷道口
    @RequestMapping("/listxdkhl")
    @ResponseBody
    public TableDataInfo listxdkhl(MsgSsj msgSsj) {
        msgSsj.setDtype("RKXDSS");
        msgSsj.setDevId("RKXDSS1");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //出库端回流
    @RequestMapping("/listrgvhl")
    @ResponseBody
    public TableDataInfo listrgvhl(MsgSsj msgSsj) {
        msgSsj.setDtype("HLRGVSS");
        msgSsj.setDevId("HLRGVSS1");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }
    //出库端回流
    @RequestMapping("/listsmk")
    @ResponseBody
    public TableDataInfo listsmk(MsgSsj msgSsj) {
        msgSsj.setDevId("CRKSS1");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    //出库端输送机报警
    @RequestMapping("/listBJ")
    @ResponseBody
    public TableDataInfo listBJ(MsgSsj msgSsj) {
        msgSsj.setDtype("CKSSJBJ");
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        return getDataTable(list);
    }

    /**
     * 导出出库输送机监控列表
     */
    @RequiresPermissions("ssj:ssj:export")
    @Log(title = "出库输送机监控", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(MsgSsj msgSsj) {
        List<MsgSsj> list = msgSsjService.selectMsgSsjList(msgSsj);
        ExcelUtil<MsgSsj> util = new ExcelUtil<MsgSsj>(MsgSsj.class);
        return util.exportExcel(list, "ssj");
    }

    /**
     * 新增出库输送机监控
     */
    @GetMapping("/add")
    public String add() {
        return prefix + "/add";
    }

    /**
     * 新增保存出库输送机监控
     */
    @RequiresPermissions("ssj:ssj:add")
    @Log(title = "出库输送机监控", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(MsgSsj msgSsj) {
        return toAjax(msgSsjService.insertMsgSsj(msgSsj));
    }

    /**
     * 修改出库输送机监控
     */
    @GetMapping("/edit/{devId}")
    public String edit(@PathVariable("devId") String devId, ModelMap mmap) {
        MsgSsj msgSsj = msgSsjService.selectMsgSsjById(devId);
        mmap.put("msgSsj", msgSsj);
        return prefix + "/edit";
    }

    /**
     * 修改保存出库输送机监控
     */
    @RequiresPermissions("ssj:ssj:edit")
    @Log(title = "出库输送机监控", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(MsgSsj msgSsj) {
        return toAjax(msgSsjService.updateMsgSsj(msgSsj));
    }

    /**
     * 删除出库输送机监控
     */
    @RequiresPermissions("ssj:ssj:remove")
    @Log(title = "出库输送机监控", businessType = BusinessType.DELETE)
    @PostMapping("/remove")
    @ResponseBody
    public AjaxResult remove(String ids) {
        return toAjax(msgSsjService.deleteMsgSsjByIds(ids));
    }
}
